home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctj1086.arc / PAUSES.MOD < prev    next >
Text File  |  1986-07-21  |  2KB  |  49 lines

  1. IMPLEMENTATION MODULE Pauses;
  2. (*
  3. Title   : Pauses.MOD -- SplitScreen Pauses
  4. LastEdit: July 22, 1986
  5. Author  : John T. Cockerham, M.D.
  6. System  : LOGITECH MODULA-2/86 
  7. *)
  8. IMPORT Terminal;
  9. FROM LowEGA IMPORT
  10.   Write, WriteString, SetCursorPoint, SetCursor, GetCursorPoint,
  11.   RollSplitScreenUp, WriteBiosString, RollSplitScreenDown, 
  12.   SetBiosCursorPoint, SetModeBios, ActivePage;
  13. FROM PointLib IMPORT Point, MakePoint, BumpPointY;
  14.  
  15. CONST Page0 = 0; Blank = 020H;
  16.  
  17.   (* This procedure raises a split screen and prints a message there
  18.      awaiting the user to continue. Can only be used text mode. *)
  19.   PROCEDURE Pause(msg : ARRAY OF CHAR);
  20.     VAR ch : CHAR;     p : Point;
  21.         SavedCursor : Point;
  22.  
  23.     PROCEDURE Blank2Lines(Page : CARDINAL);
  24.       VAR i : CARDINAL;
  25.     BEGIN
  26.       FOR i := 0 TO 159 DO Write(Page, CHR(Blank), 2); END;
  27.     END Blank2Lines;
  28.  
  29.   BEGIN
  30.     MakePoint(p, 0, 0);       GetCursorPoint(SavedCursor, Page0);
  31.     SetCursorPoint(Page0, p); Blank2Lines(Page0);
  32.     SetCursorPoint(Page0, p); Write(Page0, CHR(Blank), 2);
  33.     WriteString(Page0, msg, 2);
  34.     WriteString(Page0, ' [Strike ENTER to go on] ', 2);
  35.     SetCursor(ActivePage);    SetCursorPoint(Page0, SavedCursor);
  36.     RollSplitScreenUp(16);    Terminal.Read(ch);
  37.     RollSplitScreenDown;
  38.   END Pause;
  39.  
  40.   PROCEDURE GraphicsPause(Page : CARDINAL; msg : ARRAY OF CHAR);
  41.     VAR p : Point; ch : CHAR;
  42.   BEGIN
  43.     MakePoint(p, 8, 8);        SetBiosCursorPoint(Page, p);
  44.     WriteBiosString(msg, 2);
  45.     WriteBiosString(' [Strike ENTER to go on] ', 2);
  46.     Terminal.Read(ch);
  47.   END GraphicsPause;
  48. END Pauses.
  49.